home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
mhis020.zip
/
FLAGS.MH
< prev
next >
Wrap
Text File
|
1996-09-10
|
2KB
|
85 lines
#ifndef __FLAGS_MH
#define __FLAGS_MH
#include "upchar.mh"
#include "callinfo.mh"
#define FLAG_MENU_WIDTH 20
void flag_menu (char: key, string: desc) {
if (sys.current_col + FLAG_MENU_WIDTH > usr.width + 1)
print ("\n");
print (COL_LCYAN, "[", COL_YELLOW, key, COL_LCYAN, "] ", COL_GREEN, strpad (desc,
FLAG_MENU_WIDTH - 4, ' '));
}
int toggle_flag (int: flags, int: which_to_toggle) {
if (flags & which_to_toggle) {
return flags - which_to_toggle;
}
else {
return flags + which_to_toggle;
};
}
int edit_flags (int: flags) {
char: key;
for (;;) {
print (COL_CYAN, "\nCurrent flags: ", COL_LMAGENTA, flag_string (flags),'\n');
flag_menu ('L', "Logged on");
flag_menu ('C', "Dropped carrier");
flag_menu ('E', "Ejected");
flag_menu ('P', "Paged after hrs");
flag_menu ('D', "Download limit");
flag_menu ('X', "Account expired");
flag_menu ('T', "Time limit");
flag_menu ('N', "Nerd enabled");
flag_menu ('B', "Barricade fail");
flag_menu ('!', "Clear all flags");
flag_menu ('Q', "Quit");
print ("\n", COL_LBLUE, "Select: ");
key := upChar (getch ());
print (key);
print ("\n");
if (key = 'Q' or key = '\r') {
return flags;
}
else if (key = '!') {
flags := 0;
}
else if (key = 'L') {
flags := toggle_flag (flags, CALL_LOGON);
}
else if (key = 'C') {
flags := toggle_flag (flags, CALL_CARRIER);
}
else if (key = 'E') {
flags := toggle_flag (flags, CALL_EJECTED);
}
else if (key = 'P') {
flags := toggle_flag (flags, CALL_PAGED_AH);
}
else if (key = 'D') {
flags := toggle_flag (flags, CALL_DLEXCEED);
}
else if (key = 'X') {
flags := toggle_flag (flags, CALL_EXPIRED);
}
else if (key = 'T') {
flags := toggle_flag (flags, CALL_TIMELIMIT);
}
else if (key = 'N') {
flags := toggle_flag (flags, CALL_NERD);
}
else if (key = 'B') {
flags := toggle_flag (flags, CALL_BARRPWD);
}
else {
print (COL_WHITE, "\nSorry, that is not an option.\n");
};
};
return flags;
}
#endif